using SqlSugar;
using IM.Easy.Core.Audit;

namespace IM.Easy.Entity.System
{
    /// <summary>
    /// 授权配置表
    /// </summary>
    [SugarTable("SysAuthConfig")]
    public class SysAuthConfig : AuditableEntity, ISystem, IActive
    {
        /// <summary>
        /// 提供商编码
        /// </summary>
        [SugarColumn(ColumnName = "Provider")]
        public string Provider { get; set; }
        /// <summary>
        /// 提供商名称
        /// </summary>
        [SugarColumn(ColumnName = "ProviderName")]
        public string ProviderName { get; set; }

        /// <summary>
        /// 客户端ID
        /// </summary>
        [SugarColumn(ColumnName = "ClientId")]
        public string ClientId { get; set; }

        /// <summary>
        /// 客户端密钥
        /// </summary>
        [SugarColumn(ColumnName = "ClientSecret")]
        public string ClientSecret { get; set; }

        /// <summary>
        /// 回调地址
        /// </summary>
        [SugarColumn(ColumnName = "RedirectUri")]
        public string? RedirectUri { get; set; }

        /// <summary>
        /// 权限范围
        /// </summary>
        [SugarColumn(ColumnName = "Scopes")]
        public string? Scopes { get; set; }

        /// <summary>
        /// 启用状态
        /// </summary>
        [SugarColumn(ColumnName = "IsActive")]
        public bool IsActive { get; set; }

        /// <summary>
        /// 是否系统内置
        /// </summary>
        [SugarColumn(ColumnName = "IsSystem")]
        public bool IsSystem { get; set; }

    }
}
